#include<cstdio>
#include<algorithm>

using namespace std;
const int maxn=1e5+10;
const int INF=1e9+7;
int a[maxn],b[maxn];


int main()
{
	int n,m;
	scanf("%d%d",&n,&m);
	fill(a,a+maxn,INF);
	for(int i=0;i<n+m;i++){
		scanf("%d",&a[i]);
	}
	for(int i=0;i<n+m;i++){
		scanf("%d",&b[i]);
	}
	
	int p[maxn];
	fill(p,p+m+n,0);
	for(int i=0;i<m+n;i++){
		if(!b[i]){
			int l=m+n+1,r=m+n+1;
			for(int j=i;j>=0;j--){
				if(b[j]){
					l=j;
					break; 
				} 
			}
			for(int j=i;j<n+m;j++){
				if(b[j]){
					r=j;
					break;
				}
			}
			if(a[l]==INF) p[r]++;
			else if(a[r]==INF) p[l]++;
			else{
				if(a[i]-a[l]<=a[r]-a[i]){
					p[l]++;
				}
				else p[r]++;
			}
		}
	} 
	for(int i=0;i<m+n;i++){
		if(b[i]){
			printf("%d ",p[i]);
		}
	}
	return 0;
} 
